package com.gxa.common.base;
import lombok.Data;
import java.io.Serializable;
/**
 * 有基础的同学,可以利用泛型对R进行增强
 * @author bill
 * @date 2024/4/25 19:40
 */
@Data
public class R implements Serializable {
    private Integer code;
    private String msg;
    private Object data;
    /**
     * 声明一个静态的返回成功状态的方法
     * 比较适合用于添加/删除
     * @return
     */
    public static R success(){
        // 在HTTP协议中, 成功是用200表示,
        R r = new R();

        r.setCode(200);
        r.setMsg("success");
        return r;
    }

    /**
     * 声明一个静态的返回成功状态的方法,并含有数据
     * 比较适合用于查询
     * @param data 数据
     * @return 要返回给前端的数据
     */
    public static R success(Object data){
        // 在HTTP协议中, 成功是用200表示,
        R r = success();
        r.setData(data);
        return r;
    }

    /**
     * 返回失败的结果
     * @return
     */
    public static R failed(){
        // 在HTTP协议中, 成功是用200表示,
        R r = new R();
        r.setCode(0);
        r.setMsg("failed");
        return r;
    }

    /**
     * 返回失败的结果
     * @param msg 可以指定消息
     * @return
     */
    public static R failed(String msg){
        // 在HTTP协议中, 成功是用200表示,
        R r = new R();
        r.setCode(0);
        r.setMsg(msg);
        return r;
    }

}